package org.makcro.sms.services.chat.web.client.services.message;

import java.util.List;

import org.makcro.sms.services.chat.web.shared.dto.HistoryItemDto;
import org.makcro.sms.services.chat.web.shared.dto.QuestionDto;

import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("springGwtServices/messageFacade")
public interface MessageService extends RemoteService {
	public List<QuestionDto> getNewMessages();
	public List<HistoryItemDto> getUserHistory(String phoneNumber);
	public Boolean checkAndReserveQuestion(Integer questionId);
	public void cancelQuestionReservation(Integer questionId);
	public Long sendMessage(Long referenceId, String messageText);
	public List<HistoryItemDto> getCurrentAgentsMessages();
	public PagingLoadResult<HistoryItemDto> getCurrentAgentsMessages(PagingLoadConfig loadConfig);
	public List<HistoryItemDto> getAllHistory();
	public PagingLoadResult<HistoryItemDto> getAllHistory(PagingLoadConfig loadConfig);
}
